package com.agua.enturno.vista.paginas.home;

import com.agua.enturno.servicios.PrestadorDeServiciosService;
import com.agua.enturno.vista.dto.PrestadorDeServiciosDTO;
import com.agua.enturno.vista.paginas.prestador.PrestadorPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.spring.injection.annot.SpringBean;

import java.util.List;

public class TablaDePrestadoresPanel extends Panel {

	private static final long serialVersionUID = 1L;

	@SpringBean
	private PrestadorDeServiciosService prestadorService;
	private IModel<List<PrestadorDeServiciosDTO>> model;
	
	public TablaDePrestadoresPanel(String id, IModel<List<PrestadorDeServiciosDTO>> model) {
		super(id, model);
		this.model = model;
		this.setOutputMarkupId(true);
		
		add(new ListView<PrestadorDeServiciosDTO>("prestadores", model) {

			private static final long serialVersionUID = 1L;

			@Override
			protected void populateItem(ListItem<PrestadorDeServiciosDTO> item) {
				
				final PrestadorDeServiciosDTO prestador = item.getModelObject();
				
				PageParameters pageParameters = new PageParameters();
				pageParameters.add("prestadorId", prestador.getId());
				
				BookmarkablePageLink<String> prestadorLink = new BookmarkablePageLink<String>("prestador-link", PrestadorPage.class, pageParameters);
				prestadorLink.add(new Label("prestador-label", prestador.getNombre()));
				item.add(prestadorLink);
				
				item.add(new Label("rubro", prestador.getRubro().getNombre()));
				item.add(new Label("direccion", prestador.getDireccion()));
			}

		});
		
	}
	
	@Override
	public boolean isVisible() {
		return model.getObject() != null;
	}

}
